package com.haircut.sys.service.user;

import com.haircut.sys.model.user.SysUser;
import com.haircut.sys.vo.DataSttsVo;
import com.haircut.sys.vo.user.*;
import com.modular.result.PageResult;
import com.modular.result.RspMessage;
import org.springframework.web.bind.annotation.RequestBody;

public interface IUserService {
    /**
     * 新增或修改用户信息
     * @param userVo
     */
    void save(UserAddVo userVo);

    /**
     * 修改用户信息
     * @param userVo
     */
    void update(UserVo userVo);

    /**
     * 修改当前登录的用户
     * @param userVo
     */
    void modifyProfile(UserOnlyVo userVo);

    /**
     * 修改当前登录的用户
     * @param userVo
     */
    void updatePwd(UpdatePwdVo userVo);

    /**
     * 用户密码
     * @param userVo
     */
    void resetPwd(UserPwdVo userVo);

    /**
     * 修改状态
     * @param dataSttsVo
     */
    void modifyDataStts(DataSttsVo dataSttsVo);

    /**
     * 查询用户详情
     * @param userId
     * @return
     */
    UserVo findDetail(String userId);

    /**
     * 分页查询用户信息
     * @param reqVo
     * @return
     */
    PageResult<UserResVo> findPage(@RequestBody UserReqVo reqVo);

    /**
     * 根据账号查询用户信息
     * @param account
     * @return
     */
    SysUser findByAccount(String account);

    /**
     * 获得用户详情
     * @return
     */
    ApiUserVo getUserDetail();



}
